package basics.day19.ConcurrentMoifcation;

import java.util.ArrayList;
import java.util.Iterator;

/*
 * iterator迭代器 并发修改有问题
 * */
public class Test {
    public static void main(String[] args) {
        ArrayList<String> integerArrayList = new ArrayList<String>();
        integerArrayList.add("0");
        integerArrayList.add("1");
        integerArrayList.add("6");
        integerArrayList.add("3");
        integerArrayList.add("4");
        integerArrayList.add("5");
        Iterator<String> stringIterator = integerArrayList.iterator();
        while (stringIterator.hasNext()) {
            String s = stringIterator.next();
            if (s.equals("3")) {
                /*
                 * 在iterator迭代器遍历的时候，不允许想ArrayList内添加数据
                 * 否则会报java.util.ConcurrentModificationException并发修改的错误
                 * */
                integerArrayList.add(integerArrayList.size(), "7");
            }
            System.out.println(s);
        }
    }
}
